import {createApp,ref } from 'vue';
import App from './App.vue';
import Van from "vant";
import "vant/lib/index.css";// 确保样式也被引入

import 'vant/es/toast/style';

const app = createApp(App);
// @ts-ignore
import * as VueRouter from 'vue-router';
import routes from "./config/router.ts";
import {isAuthenticated} from "./utils/auth";
app.provide('globalVariable',  ref(true));
app.use(Van)
const router = VueRouter.createRouter({
    // 4. 内部提供了 history 模式的实现。为了简单起见，我们在这里使用 hash 模式。
    history: VueRouter.createWebHashHistory(),
    routes, // `routes: routes` 的缩写
})

function white_color() {
    document.body.style.backgroundColor = "#FFFFFF";
    document.body.style.color = "#000000";
    document.body.style.margin = "0";
    document.body.style.padding = "0";
}
function black_color() {
    document.body.style.backgroundColor = "#000000";
    document.body.style.color = "#FFFFFF";
    document.body.style.margin = "0";
    document.body.style.padding = "0";
}

// 全局前置守卫
router.beforeEach((to, from, next) => {
    if (to.matched.some(record => record.meta.requiresAuth)) {
        // 如果目标路由需要认证并且用户未登录
        if (!isAuthenticated()) {
            // 重定向到登录页面
            black_color();
            next({ path: '/user/login' });
        } else {
            // 继续导航
            white_color();
            next();
        }
    } else {
        // 如果不需要认证，继续导航
        white_color();
        next();
    }
});
app.use(router)

app.mount('#app')




